.Content,
.SubContent {
	min-width: 220px;
	background-color: white;
	border-radius: 6px;
	padding: 5px;
	box-shadow:
		0px 10px 38px -10px rgba(22, 23, 24, 0.35),
		0px 10px 20px -15px rgba(22, 23, 24, 0.2);
	animation-duration: 400ms;
	animation-timing-function: cubic-bezier(0.16, 1, 0.3, 1);
	will-change: transform, opacity;
	&[data-side="top"] {
		animation-name: slideDownAndFade;
	}
	&[data-side="right"] {
		animation-name: slideLeftAndFade;
	}
	&[data-side="bottom"] {
		animation-name: slideUpAndFade;
	}
	&[data-side="left"] {
		animation-name: slideRightAndFade;
	}
}

.Item,
.CheckboxItem,
.RadioItem,
.SubTrigger {
	font-size: 13px;
	line-height: 1;
	color: var(--violet-11);
	border-radius: 3px;
	display: flex;
	align-items: center;
	height: 25px;
	padding: 0 5px;
	position: relative;
	padding-left: 25px;
	user-select: none;
	outline: none;
	&[data-disabled] {
		color: var(--mauve-8);
		pointer-events: none;
	}
	&[data-highlighted] {
		background-color: var(--violet-9);
		color: var(--violet-1);
	}
}

.SubTrigger[data-state="open"]:not([data-highlighted], [data-disabled]) {
	background-color: var(--violet-4);
	color: var(--violet-11);
}

.Label {
	padding-left: 25px;
	font-size: 12px;
	line-height: 25px;
	color: var(--mauve-11);
}

.Separator {
	height: 1px;
	background-color: var(--violet-6);
	margin: 5px;
}

.ItemIndicator {
	position: absolute;
	left: 0;
	width: 25px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.Arrow {
	fill: white;
}

.IconButton {
	all: unset;
	font-family: inherit;
	border-radius: 100%;
	height: 35px;
	width: 35px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: var(--violet-11);
	background-color: white;
	box-shadow: 0 2px 10px var(--black-a7);
	user-select: none;
	&:hover {
		background-color: var(--violet-3);
	}
	&:focus {
		box-shadow: 0 0 0 2px black;
	}
}

.RightSlot {
	margin-left: auto;
	padding-left: 20px;
	color: var(--mauve-11);
	[data-highlighted] > & {
		color: white;
	}
	[data-disabled] & {
		color: var(--mauve-8);
	}
}

@keyframes slideUpAndFade {
	from {
		opacity: 0;
		transform: translateY(2px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes slideRightAndFade {
	from {
		opacity: 0;
		transform: translateX(-2px);
	}
	to {
		opacity: 1;
		transform: translateX(0);
	}
}

@keyframes slideDownAndFade {
	from {
		opacity: 0;
		transform: translateY(-2px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes slideLeftAndFade {
	from {
		opacity: 0;
		transform: translateX(2px);
	}
	to {
		opacity: 1;
		transform: translateX(0);
	}
}
